Route determining method in a multi protocol label switching network

ABSTRACT

The present invention relates to a method of determining at least one traffic route in an MPLS (Multi-Protocol Label Switching) network. In this route determining method, when a traffic is arrived at an ingress edge router, the edge router removes links of remaining capacity below the traffic demand from all links of a given MPLS network to produce the first network topology, calculates distance of every link of the first network topology based on current traffic flowing each link and the traffic demand, determines the first route for the traffic demand based on the calculated distance information; removes links of remaining capacity below the traffic demand and links belonging to the first route from the MPLS network to produce the second network topology, calculates every link distance of the second topology based on current traffic flowing each link and the traffic demand, determines the second route for the traffic demand based on the distance information obtained from the second topology, partitions the arrived traffic into two portions, and allocates the two portions to the first and the second route, respectively.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to a method of determining at leastone traffic route in an MPLS (Multi-Protocol Label Switching) network.

[0003] 2. Description of the Related Art

[0004] An MPLS ensures quality of service (QoS) for a traffictransported through an IP (Internet Protocol) network and efficient useof network resources. Therefore, it is spotlighted in trafficengineering field.

[0005] The MPLS traffic engineering determines an LSP (Label SwitchedPath) in various ways to appropriately accept a variety of QoS demandsfor users' IP packets. The LSP is a point-to-point (PTP) path connectingfrom an ingress to an egress edge router.

[0006] The IETF (Internet Engineering Task Force) committee is underdiscussion about reroute, protection switching, and fast reroute indetermining an LSP to prepare against unexpected network fault. Themethods of protection switching and fast reroute reserve a backup pathfor a primary LSP to prepare against network fault. However, when abackup path is reserved, some bandwidth of the backup path is reservedand is not able to be used for other traffic.

[0007] Another method has been proposed to resolve such a drawback. Inthis method, a reserved backup path is used for other traffic demandinglow QoS in case of normally-operative network and for a traffic ofprimary LSP in case of faulty network.

[0008] Despite such an improved method, new methods are still demandedto prepare for network fault while reducing a bandwidth allocated for abackup path as possible as it can.

[0009] In addition, conventional methods consider only current trafficbeing routed through network as link or node cost in LSP determination.In other words, they do not consider traffic to be routed at all, whichrestricts the most optimal path determination from an overall networkpoint of view. Therefore, such conventional methods reveal lowefficiency of traffic engineering.

[0010] In the meantime, due to rapid growth of an IP base network,various multimedia services such as VoIP, VOD, AOD, on-line movie, andvideo conference are being demanded. Many of those multi-media servicesrequire a point-to-multipoint (PTM) tree. If a PTM multimedia service isprovided through PTP LSPs, use efficiency of network resources becomesworse and/or management of QoS becomes not easy. This is becausemulticast traffic is routed through a unicast way.

[0011] In the Internet proposal room of the IETF committee, many ways todistribute MPLS label are being listed up. Those many ways use PIM-SM orPIM-DM which is conventional multicast IP protocol. Besides the proposedmany ways, MPLS multicasting way is being standardized in the IETF.

[0012] However, since tree determining methods of existing multicastprotocols proposed until now are all receiver-based, it is not easy toreflect intentions of a service provider or users appropriately.Furthermore, a multicast traffic transporting method using an existingPTP path determining way can not use network resources efficiently,which results in deterioration of service quality.

[0013] In addition, all existing tree determining methods consider onlycurrent network state, namely they do not consider traffic to be routedat all, which causes a problem that traffic load is not distributeduniformly over an overall network.

SUMMARY OF THE INVENTION

[0014] It is an object of the present invention to provide a trafficroute determining method in an MPLS network which determines more thanone traffic route at an originating node in consideration of currentnetwork state and a traffic demand to be routed.

[0015] It is another object of the present invention to provide atraffic route determining method in an MPLS network which, when twoprimary and one backup LSP for a PTP are to be determined to achievestable PTP routing of a traffic demanding relatively high QoS,determines optimal traffic paths from a cost point of view whilereducing a reserved bandwidth of a backup path as possible as it can andpreparing efficiently for network fault.

[0016] It is another object of the present invention to provide atraffic route determining method in an MPLS network which distributes atraffic demand optimally to two determined LSTs (Label Switched Trees)for a PTM and equilibrates network load over an overall network at sametime by considering a traffic demand to be routed as well as currentnetwork state.

[0017] A method of determining routes in an MPLS network in accordancewith the present invention is characterized in that it comprises thesteps of: removing links of remaining capacity below a traffic demand tobe routed from all links of the MPLS network to produce the firstnetwork topology; calculating distance of every link of the firstnetwork topology based on current traffic flowing each link and thetraffic demand; determining the first route for the traffic demand basedon the calculated distance information; removing links of remainingcapacity below the traffic demand and links belonging to the determinedfirst route from all links of the MPLS network to produce the secondnetwork topology; calculating distance of every link of the secondnetwork topology based on current traffic flowing each link and thetraffic demand; determining the second route for the traffic demandbased on the distance information obtained from the second networktopology; and partitioning the traffic demand into two portions andallocating the two portions to the first and the second route,respectively.

[0018] Another method of determining routes in an MPLS network inaccordance with the present invention is characterized in that itcomprises the steps of: removing links of remaining capacity below atraffic demand to be routed from all links of the MPLS network toproduce the first network topology; calculating distance of every linkof the first network topology based on current traffic flowing each linkand the traffic demand; determining the first route for the trafficdemand based on the calculated distance information; removing links ofremaining capacity below zero and/or links belonging to the determinedfirst route from all links of the MPLS network to produce the secondnetwork topology; calculating distance of every link of the secondnetwork topology based on current traffic flowing each link and thetraffic demand; determining the second route for the traffic demandbased on the distance information obtained from the second networktopology; and partitioning the traffic demand into two portions andallocating the two portions to the first and the second route,respectively.

BRIEF DESCRIPTION OF THE DRAWINGS

[0019] The accompanying drawings, which are included to provide afurther understanding of the present invention, illustrate the preferredembodiments of the invention, and together with the description, serveto explain the principles of the present invention, and wherein:

[0020]FIG. 1 is an illustrative MPLS network composed of severalrouters;

[0021]FIG. 2 is another illustrative MPLS network in which two primaryLSPs (Label Switched Paths) and a single backup LSP are established fora PTP (point-to-point) traffic in accordance with the present invention;

[0022]FIG. 3 is another illustrative MPLS network in which two LSTs(Label Switched Trees) are established for a multicast traffic inaccordance with the present invention;

[0023]FIG. 4 is a simplified block diagram of an ingress LER (Label EdgeRouter) to determine LSPs or LSTs in accordance with the presentinvention;

[0024]FIG. 5 is a flow diagram of an embodiment of a route determiningmethod in accordance with the present invention; and

[0025]FIG. 6 is a flow diagram of another embodiment of a routedetermining method in accordance with the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

[0026] In order that the invention may be fully understood, a preferredembodiment thereof will now be described with reference to theaccompanying drawings.

[0027]FIG. 1 is an illustrative MPLS network 100 composed of severalrouters. Among those routers, a router functioning an entrance of thenetwork 100 for an arbitrary data traffic is called ingress LER (LabelEdge Router) while a router functioning as an exit of the network 100 iscalled egress LER. And, a router, located on a path from an ingress toan egress LER, functioning as a relay node is called LSR (LabelSwitching Router). In FIG. 1, The numeral 110, 120, and 130 representingress LER, egress LER, and LSRs, respectively. A path connected fromthe ingress 110 to egress LER 120 through no or at least one LSR 130 iscalled ‘LSP’. In FIG. 1, two LSPs ‘LSP1’ and ‘LSP2’ are marked. The LSP‘LSP1’ is a path of 110→132→133→120 and the LSP ‘LSP2’ a path of110→131→120. Such LSPs are determined for an input traffic at theingress LER 110.

[0028]FIG. 2 is another illustrative MPLS network in which two primaryLSPs ‘LSP1’ and ‘LSP2’ and a single backup LSP are established for a PTPtraffic to prepare protection switching. In FIG. 2, one primary LSP‘LSP1’ is a path of Ingress→LSR2→LSR5→Egress, the other LSP2Ingress→LSR3→LSR6→Egress, and the backup LSPIngress=LSR1→LSR4→LSR7→Egress. The backup LSP is used as a roundaboutpath for traffic to be routed through the primary LSPs when they becomein fault. The two primary LSPs share traffic demand optimally and thebackup LSP reserves bandwidth for a roundabout path as much as thebandwidth of large part of the shared traffic.

[0029]FIG. 3 is another illustrative MPLS network in which two LSTs(Label Switched Trees) are established for a multicast traffic. FIG. 3illustrates that an ingress LER has determined two LSTs ‘LST1’ and‘LST2’, equivalent to multiple LSPs, for an input multicast trafficdestined for three egress LERs ‘Egress1’, ‘Egress2’, and ‘Egress3’.

[0030] The first LST ‘LST1’, drawn as thick sold line, is a tree ofIngress→LSR2→LSR5→Egress1, 2, 3 and the second LST ‘LST2’, drawn asthick dotted line, is a tree of Ingress→LSR3→LSR5→Egress1 andIngress→LSR3→LSR6→Egress2,3. The two LSTs are determined by the ingressLER as aforementioned when routing of a multicast traffic is demanded.

[0031] For example, when multicast traffic 10 is to be routed from theingress LER to three egress ones ‘Egresses 1 to 3’ the ingress LERdetermines the two LSTs ‘LST1’ and ‘LST2’ and distributes the multicasttraffic 10 to the two LSTs at a certain ratio, e.g., 6 to 4.

[0032] In the MPLS network of FIG. 2, the LSPs are determined withdisjoint rule, however, in FIG. 3, the LSTs are determined with nodisjoint rule.

[0033]FIG. 4 is a simplified block diagram of an ingress LER todetermine LSPs or LSTs in accordance with the present invention. Theingress LER of FIG. 4 comprises an I/O interface 401, equipped with manyI/O ports, receiving/transmitting data trough the I/O ports; a switchingmatrix 402 setting output path of each input data to direct data towardits destination; a memory 403 storing a routing table; and a controller404 constructing the routing table, and controlling the path setting ofthe switching matrix 402 based on the routing table to route inputtraffic to a suitable adjacent node.

[0034] The controller 404 constructs the routing table according tobelow-explained route determining manners, and stores it into the memory403.

[0035]FIG. 5 is a flow diagram of an embodiment of a route determiningmethod in accordance with the present invention. The embodiment of FIG.5 is to determine two primary LSPs and a backup LSP. It is supposed thatan ingress LER conducting the embodiment knows network topology, costfunction (e.g., delay function), initial and remaining capacity of everylink, and traffic demand to assign LSP for (namely, traffic load to berouted into network). If necessary, it is also supposed that all LSRs onan MPLS network know that information.

[0036] Notations used for explanation below are defined as follows. G orG(m,n) represents a network at the time when an LSP is to be determinedfor a new traffic where m is the number of total links and n the numberof nodes; G^((p)) (z) represents a network G from which links ofremaining capacity below z and links belonging to the path p areremoved; y_(i) is current traffic flow on link i (=1, 2, . . . ,m); d isa traffic demand to be routed; f_(i)(x_(i)) is a cost in the event thattraffic flow x_(i) is loaded on link i; f_(i)′(x_(i)) is a costincreasing rate per unit flow in the event that traffic flow x_(i) isloaded on link i; dist(i) is a conceptual distance of link i; and p_(k)is the k-th primary LSP where k=1 and 2.

[0037] First, links of remaining capacity (marked ‘c_(i)’ hereinafter)below the traffic demand d are removed from all links of the MPLSnetwork 100 (S501). A link means between two adjacent nodes, e.g., linesbetween 110 and 131, 132 and 133, etc. In the step S501 of FIG. 5, G(d)represents an MPLS network G(m,n) from which links of c_(i) below d havebeen removed.

[0038] Next, dist₁ (i) is calculated for each link i of the network G(d)based on Y_(i) of each link i and the traffic demand d. If a delayfunction is used as the cost function f_(i)(x_(i)), the dist_(l)(i) isdefined as a derivative of f_(i)(x_(i)), namely, f_(i)′(x_(i)) wherex_(l) is replaced with y_(i)+d. Therefore, every link distance ofnetwork G(d) is obtained from the following Eq. (1) (S502).$\begin{matrix}{{{dist}_{1}(i)} = {{f_{i}^{\prime}\left( {y_{i} + d} \right)} = {\frac{{tc}_{i} - y_{i}}{\left( {{tc}_{i -}\left( {y_{i} + d} \right)} \right)^{2}} = \frac{c_{i}}{\left( {c_{i} - d} \right)^{2}}}}} & {{Eq}.\quad (1)}\end{matrix}$

[0039] In Eq. (1), i represents link index, namely, from 1 to m where mis the number of total links, dist(i) is distance of link i, tc_(i) andc_(i) are initial and remaining capacity, respectively, of link i.Therefore, c_(i) is equal to ‘tc_(i)-y_(i)’. In addition, if delay atlink i is expressed by f_(i)(x_(i)) where x_(i) is traffic flowing linki, f_(i)(x_(i))=x_(i)/(tc_(i)-x_(i)) and its derivativef_(i)′(x_(i))=c_(i)/(tc_(i)−x_(i))². Therefore, Eq. (1) is derived byreplacing variable x_(i) with y_(i)+d in the derivative f_(i)′(x_(i)).

[0040] f_(i)′(x_(i)) is a function of cost increasing rate per unit flowin the event that traffic flow x_(i) is flowed on link i.

[0041] The cost function may not use delay function. If a function givesconceptual distance of every link for y_(i)+d, that function can be usedas cost function of the present invention. Especially, if a nonlinearfunction is adopted for cost versus traffic flow of a link, a link ofminimum cost can be found.

[0042] Next, a PTP path p1(=LSP1) is determined based on the informationdist₁(i) of every link (S503). The determined PTP path is a link set ofwhich distance sum is smallest from ingress to egress LER.

[0043] After the first path LSP1 is determined at the step S503, anothernetwork topology is constructed as follows.

[0044] Namely, links of c_(i) below the traffic demand d and linksbelonging to the first path p1(=LSP1) are removed from all links of theMPLS network 100 (S504). Thusly-constructed network is expressed asG^({p1})(d)

[0045] Next, distance dist₂(i) of every link of new network topologyG^({p1})(d) is calculated again from Eq. (2) based on y_(i) of each linki and the traffic demand d (S505). Eq. (2) is totally same with Eq. (1)because delay is selected as cost. $\begin{matrix}{{{dist}_{2}(i)} = {{f_{i}^{\prime}\left( {y_{i} + d} \right)} = {\frac{{tc}_{i} - y_{i}}{\left( {{tc}_{i -}\left( {y_{i} + d} \right)} \right)^{2}} = \frac{c_{i}}{\left( {c_{i} - d} \right)^{2}}}}} & {{Eq}.\quad (2)}\end{matrix}$

[0046] Afterwards, the second PTP path p2(=LSP2) is determined based onthe information dist₂(i) of every link calculated in the step S505(S506). The determined second PTP path is also a link set of whichdistance sum is smallest the same as the first path.

[0047] Then, the ingress LER calculates dividing portions q₁ and q₂ ofthe traffic demand d (=q₁+q₂). The divided traffic q₁ and q₂ are chosento values to make the function of Eq. (3) smallest (S507).$\begin{matrix}{{g\left( {{q1},{q2}} \right)} = {\sum\limits_{i = 1}^{m}{f_{i}\left( {{q_{1}\delta_{i}^{1}} + {q_{2}\delta_{i}^{2}}} \right)}}} & {{Eq}.\quad (3)}\end{matrix}$

[0048] where q₁, q₂>0, c_(i)≧q₁δ_(i) ¹+q₂δ_(i) ² ≧0, and δ _(i) ^(k) is1 if link i belongs to the determined path p_(k) (k=1,2).

[0049] Finally, a backup LSP will be determined from links being capableof carrying a large portion among divided traffic q₁ and q₂. For thisbackup LSP determination, links of c_(i) below q_(b)=max(q₁,q₂) andlinks belonging to the first path p₁(=LSP1) or p₂(=LSP2) are removedfrom all links of the MPLS network 100 (S508). Thusly-constructednetwork is expressed as G^({p1,p2}) (q_(b)).

[0050] Next, distance dist₃(i) of every link of the network topologyG^({p1,p2}) (q_(b)) is calculated once more with the same manner as inthe above primary path determination based on y_(i) of each link i andthe traffic demand q_(b) (S509). The value substituted for x_(i) of thecost function f_(i)(x_(i)) is y_(i)+q_(b).

[0051] Afterwards, the third PTP path p_(b)(=LSP3) is determined basedon the information dist₃(i) of every link calculated in the step S509(S510). The determined third PTP path is also a link set of whichdistance sum is smallest the same as the first path.

[0052] Among the three paths, the ingress LER sets the first ‘LSP1’ andthe second path ‘LSP2’ to primary LSPs and the third path ‘LSP3’ tobackup LSP (S511).

[0053] After necessary LSPs are determined completely, the ingress LERallocates the divided traffic q₁ and q₂ to the paths ‘LSP1’ and ‘LSP2’,respectively.

[0054]FIG. 6 is a flow diagram of another embodiment of a routedetermining method in accordance with the present invention.

[0055] It is also supposed that an ingress LER conducting thisembodiment knows network topology, cost function (e.g., delay function),initial and remaining capacity c_(i) of every link, and multicasttraffic demand d′ to assign LST for (namely, multicast traffic load tobe routed). If necessary, it is also supposed that all LSRs on an MPLSnetwork know that information and are able to copy label and traffic.

[0056] First, links of remaining capacity c_(i) below the multicasttraffic demand d′ are removed from all links of the MPLS network G 100to create new network topology G(d′) (S601).

[0057] Next, dist_(a)(i) is calculated for each link i of the networkG(d′) based on y_(i) of each link i and the multicast traffic demand d′(S602) If a delay function is adopted as a cost function f_(i)(x_(i)),the Eq. (1) can be used for this distance calculation.

[0058] Next, the first PTM tree t1(=LST1) is determined on the networkG(d′) based on the information dist₁(i) of every link (S603). In thistree determination, it is preferable to select a tree of which distancesum from ingress to egress LER is smaller than a predeterminedthreshold. The reason not to find a tree of the smallest distance sum isthat huge computation power may be required. The threshold is set suchthat a tree of relatively small distance sum can be obtained withallowable computing load.

[0059] After the first tree is determined, the determination rule ofnext tree is checked (S604). If the rule is set to ‘no disjoint’, thenetwork G(0) is constructed from the network G where the multicasttraffic d′ is supposedly loaded to links belonging to the determinedtree t1(=LST1) (S605-1). The network G(0) means a network composed oflinks of c_(i) not below zero.

[0060] If the rule is set to ‘disjoint’, network topology G^({t1})(0) isconstructed from the network G (S605-2).

[0061] Next, distance dist_(b)(i) of every link of the new networktopology G(0) or G^({t1})(0) is calculated again based on y_(i) of eachlink i and the traffic demand d′ (S606). Since G(0) and G^({t1})(0) areall subset of G(d′), the distance set calculated from the dist_(a)(i)may be re-used instead of calculating dist_(b)(i) for G(0) orG^({t1})(0) one by one.

[0062] Afterwards, the second PTM tree t2(=LST2) is determined based onthe information dist_(b)(i) of every link the same as the first PTM tree(S607).

[0063] Finally, the ingress LER calculates dividing portions r₁ and r₂of the multicast traffic demand d′ (=r₁+r₂). The divided traffics r₁ andr₂ are chosen to values to make the function of Eq. (4) smallest.$\begin{matrix}{{g\left( {r_{1},r_{2}} \right)} = {\sum\limits_{i = 1}^{m}{f_{i}\left( {{r_{1}\delta_{i}^{1}} + {r_{2}\delta_{i}^{2}}} \right)}}} & {{Eq}.\quad (4)}\end{matrix}$

[0064] where r₁,r₂>0, c_(i)>r₁δ_(i) ¹+r₂δ_(i) ²≧0, and δ_(i) ^(k) is 1if link i belongs to the determined tree t_(k) (k=1,2).

[0065] After two LSTs are determined completely, the ingress LERallocates the divided multicast traffic r₁ and r₂ to the trees ‘LST1’and ‘LST2’, respectively (S608).

[0066] The above-explained route determining method in an MPLS networkaccording to the present invention, which routes PTP or PTM trafficthrough a plurality of primary paths or trees, can reduce overall cost(transporting cost, traffic delay, etc) remarkably, cope with networkfault efficiently, and improve traffic viability against network faultif a backup path is established disjointedly with primary paths.

[0067] Furthermore, the present method can reduce cost taken in routingmulticast traffic and improve viability of multicast traffic againstnetwork fault if plural trees are established disjointedly each other.This is because when one of the plural trees becomes fault not all butsome of multicast traffic is lost. However, entire multicast traffic islost in a conventional method using one tree for routing a multicasttraffic.

[0068] It will be apparent to those skilled in the art that variousmodifications and variations can be made in the present inventionwithout departing from the spirit or scope of the invention. Thus, it isintended that the present invention cover the modifications andvariations of this invention provided they come within the scope of theappended claims and their equivalents.

What is claimed is:
 1. A method of determining routes in an MPLS (Multi-Protocol Label Switching) network, comprising the steps of: (a) removing links of remaining capacity below a traffic demand to be routed from all links of the MPLS network; (b) calculating distance of every link of the network constructed in said step (a)S, based on current traffic flowing each link and the traffic demand; and (c) determining a first route for the traffic demand based on the calculated distance information.
 2. The method of claim 1, wherein the link distance is obtained by replacing variable x of a given cost function f(x) with current traffic flowing each link and the traffic demand.
 3. The method of claim 1, wherein said steps (a) to (c) are conducted by an ingress edge router which the traffic demand enters.
 4. The method of claim 1, further comprising the steps of: (d) removing links of remaining capacity below the traffic demand and links belonging to the determined first route from all links of the MPLS network; (e) calculating distance of every link of the network constructed in said step (d), based on current traffic flowing each link and the traffic demand; (f) determining a second route for the traffic demand based on the distance information obtained in said step (e); and (g) partitioning the traffic demand into two portions and allocating the two portions to the first and the second route, respectively.
 5. The method of claim 4, further comprising the steps of: (h) removing links of remaining capacity below the traffic demand and links belonging to the first or the second route from all links of the MPLS network; (i) calculating distance of every link of the network constructed in said step (h), based on the current traffic flowing each link and one selected from the partitioned two portions; and (j) determining a backup route for the traffic demand based on the distance information calculated in said step (i).
 6. The method of claim 5, wherein said selected partitioned portion is larger than the other.
 7. The method of claim 4, wherein the two partitioned portions are q₁ and q₂ that make a function of ${g\left( {{q1},{q2}} \right)} = {\sum\limits_{i = 1}^{m}{f_{i}\left( {{q_{1}\delta_{i}^{1}} + {q_{2}\delta_{i}^{2}}} \right)}}$

smallest in the event that f_(i) (x) is given as a cost function of link i, wherein q₁, q₂>0, c_(i)≧q₁δ_(i) ¹+q₂δ_(i) ²≧0, and δ_(i) ^(k) is 1 if link i belongs to the determined route p_(k) (k=1,2).
 8. The method of claim 1, wherein the determined route is a link set of which distance sum is smallest from an ingress to an egress edge for the traffic demand.
 9. The method of claim 1, wherein the determined route is a link set of which distance sum is below a predetermined threshold from an ingress to an egress edge for the traffic demand.
 10. The method of claim 1, wherein the distance of each link is calculated from c_(i)/(c_(i)−d)² where i is link index, c_(l) is the remaining capacity of link i, and d is the traffic demand.
 11. The method of claim 1, further comprising the steps of: (d) removing links of remaining capacity below zero and links belonging to the determined first route from all links of the MPLS network; (e) calculating distance of every link of the network constructed in said step (d), based on current traffic flowing each link and the traffic demand; (f) determining a second route for the traffic demand based on the distance information obtained in said step (e); and (g) partitioning the traffic demand into two portions and allocating the two portions to the first and the second route, respectively.
 12. The method of claim 1, further comprising the steps of: (d) removing links of remaining capacity below zero from all links of the MPLS network; (e) calculating distance of every link of the network constructed in said step (d), based on current traffic flowing each link and the traffic demand; (f) determining a second route for the traffic demand based on the distance information obtained in said step (e); and (g) partitioning the traffic demand into two portions and allocating the two portions to the first and the second route, respectively.
 13. The method of claim 1, wherein the determined route consists of at least one path carrying a multicast traffic. 